package com.oop;

/**
 * @功能：封装
 * @版本： V1
 * @版权： 信息技术有限公司（http://www.mychery.com/）
 * @作者： 磐石战队开发组  00355760
 * @日期： 2024/8/5 13:31
 */
public class demo10 {

    //所有的类都直接或者间接的继承Object类
    //人 ：父类
    /**
     * **封装的意义：**
     * 1. 提高程序的安全性。保护数据
     * 2. 隐藏代码的实现细节
     * 3. .统一接口，形成规范
     * 4. 提供系统的可维护性
     *
     * #### 继承
     * - 继承的本质是对某一批类的抽象，从而实现对现实世界更好的建模
     * - **extends**的意思是“扩展”。子类是父类的扩展
     * - Java中类只有单继承，没有多继承！一个儿子只能有一个爸爸，但是一个爸爸可以有多个儿子
     * - 继承是类与类之间的一种关系。除此之外，类和类之间的关系还有依赖、组合、聚合等
     * - 继承关系的两个类，一个为子类（派生类），一个是父类（基类）。子类继承父类，使用关键字extends来表示
     * - 子类和父类之间，从某意义上讲应该具有“is a”的关系
     * - object类:所有的类都直接或者间接的继承Object类
     * - super-this  父-当前
     */

    public int money = 10_0000_0000;//如果希望子类继承，则需要是public，反之就是private
    //public
    //protected
    //default
    //private，如果设置了private，仍想让子类调用，就用public方法，详见封装
    protected String name = "tanswc";
    public void say(){
        System.out.println("说了一句话");
    }
    //如果把下面的方法public改成private，则子类无法调用，私有的东西无法被继承
    public void print(){
        System.out.println("Person");
    }
    ////快捷键生成一个无参构造器
    public demo10() {//如果父类只有有参构造器，无没有显示定义无参构造器，则子类也不能用也不能写无参构造器
        System.out.println("Person无参执行了");
    }
    public int getMoney() {//子类虽然无法直接使用private，但是可以用一些方法让子类用
        return money;
    }
    public void setMoney(int money) {
        this.money = money;
    }
}
